package request

// User login structure
type Login struct {
	Code string `bind:"required" json:"code" form:"code" uri:"code"` // 用户登录code
}

type Code2SessionRequest struct {
	AppId  string `json:"appid"`
	Secret string `json:"secret"`
	Code   string `json:"code"`
	ACode  string `json:"anonymous_code"`
	JsCode string `json:"js_code"`
	GrantType string `json:"grant_type"`
}

type SetUserInfoReq struct {
	ID       int64  `bind:"required" json:"id" form:"id" uri:"id"`
	Username string `bind:"required" json:"username" form:"username" uri:"username"`
	Avatar   string `bind:"required" json:"avatar" form:"avatar" uri:"avatar"`
	Gender   int64  `bind:"required" json:"gender" form:"gender" uri:"gender"` // 性别 【0：未知 1：男性 2：女性】
	Region       string `bind:"required" json:"region" form:"region" uri:"region"`
}

type SetUserAddressReq struct {
	ID           int64  `bind:"required" json:"id" form:"id" uri:"id"`
	Region       string `bind:"required" json:"region" form:"region" uri:"region"`
	ProvinceCode string `bind:"required" json:"province_code" form:"province_code" uri:"province_code"`
	CityCode     string `bind:"required" json:"city_code" form:"city_code" uri:"city_code"`
}

type IDReq struct {
	ID int64 `bind:"required" json:"id" form:"id" uri:"id"`
}

type UUIDReq struct {
	UUID string `bind:"required" json:"uuid" form:"uuid" uri:"uuid"`
}

type SendPaperRequest struct {
	UserId  int64  `bind:"required" json:"userId" form:"userId" uri:"userId"`
	Content string `bind:"required" json:"content" form:"content" uri:"content"`
}

type ReplyPaperRequest struct {
	ID       int64 `bind:"required" json:"id" form:"id" uri:"id"`
	PaperId  int64 `bind:"required" json:"paper_id" form:"paper_id" uri:"paper_id"`
	SenderId int64 `bind:"required" json:"sender_id" form:"sender_id" uri:"sender_id"`
	IsReply  int64 `bind:"required" json:"is_reply" form:"is_reply" uri:"is_reply"`
}

type GetPaperContentRequest struct {
	SenderUUID string `bind:"required" json:"sender_uuid" form:"sender_uuid" uri:"sender_uuid"`
	AcceptId   int64  `bind:"required" json:"accept_id" form:"accept_id" uri:"accept_id"`
}

type SynchronousMessageRequest struct {
	Content string `bind:"required" json:"content" form:"content" uri:"content"`
}

type ReportUserRequest struct {
	UserId int64 `bind:"required" json:"userId" form:"userId" uri:"userId"`  //被举报用户
	OperaterID int64 `bind:"required" json:"operaterId" form:"operaterId" uri:"operaterId"`//举报人
	Type int64  `bind:"required" json:"type" form:"type" uri:"type"`  //举报类型
}

type BlacklistRequest struct {
	UserId int64 `bind:"required" json:"userId" form:"userId" uri:"userId"`  //被举报用户
	OperaterID int64 `bind:"required" json:"operaterId" form:"operaterId" uri:"operaterId"`//举报人
}

type IsBlackOtherRequest struct {
	UserId int64 `bind:"required" json:"userId" form:"userId" uri:"userId"` //自己
	OtherUUID string `bind:"required" json:"otherUUID" form:"otherUUID" uri:"otherUUID"` //对方
}
